home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr30 / mdaux102.zip / MDAUX.DOC next >
Text File  |  1993-05-11  |  8KB  |  201 lines

  1.  
  2. MDAUX Device Driver v01.02.00   11 MAY 1993
  3.  
  4. Copyright (c) 1988 - 93 Professional Software Engineering
  5. All rights reserved.
  6.  
  7.  
  8. See also the companion Freeware utility, MONOCLS for clearing the secondary 
  9. monochrome screen (reguardless of whether you use MDAUX).
  10.  
  11.  
  12. I wrote MDAUX for debugging on PC systems.  It takes over the AUX device (a 
  13. device made available to all running programs), and directs it's output to a 
  14. secondary Monochrome Display ("MD").
  15.  
  16. I used to use a serial printer at times to log debugging status during a 
  17. program's execution (I used a Parallel printer normally, but also had a 
  18. crummy serial printer attached as well).  This worked out well, since one 
  19. could run the program without the overhead of a debugger and have hardcopy.
  20.  
  21. It didn't work so well when my serial printer croaked.  However, by that time 
  22. I already had a secondary display on my computer for debugging (using 
  23. Periscope).  So I trashed the serial printer, and wrote this utility to 
  24. utilize the mono display as the status device.  I no longer had a hardcopy, 
  25. but the speed was improved (and I didn't need to concern myself with setting 
  26. the port speed anymore either), and it was so much quieter (which is great 
  27. for midnight debugging sessions).
  28.  
  29.  
  30. MDAUX will only allow itself to be installed if it detects an MDA *AND* that 
  31. MDA is the secondary (i.e. not the display that DOS is using by default).  It 
  32. occupies about 464 bytes.
  33.  
  34.  
  35. INSTALLATION:
  36. add the following line in CONFIG.SYS:
  37.  
  38.     DEVICE=[pathspec]MDAUX.SYS
  39.  
  40. (MDAUX can be loaded high).
  41.  
  42. When the driver loads, you should see the monochrome display flicker/flash 
  43. (this is actually intentional).  AUX is operating through the MDA.
  44.  
  45. A quick test of functionality is:
  46.  
  47. DIR>AUX
  48.  
  49. or even:
  50.  
  51. TYPE filename>AUX
  52.  
  53. Whatever would normally have appeared through STDOUT should appear on the 
  54. secondary display.
  55.  
  56.  
  57. The cursor is turned on whenever the AUX device is opened (usually by DOS 
  58. when it launches an application), and turned off whenever AUX is closed.  The 
  59. driver does not care if AUX is "Opened" or "Closed" when it recieves a write 
  60. request.
  61.  
  62. When a FormFeed (ASCII 12 decimal) character is recieved, it will clear the 
  63. screen and home the cursor position.  This is useful for programs which want 
  64. to display a full-screen of debug information every so often and wish to keep 
  65. most of the information in the same locations (since there is no 
  66. ANSI-equivalent interpretation going on).
  67.  
  68.  
  69. There is a utility, OX.SYS in use (mostly by Microsoft Windows developers) 
  70. which performs an almost identical task to MDAUX.  I am unaware of the 
  71. origins of the OX.SYS utility (it may have originated in an early version of 
  72. the SDK).  I understand that it is in the Public Domain, but there is no 
  73. source code for it.
  74.  
  75. MDAUX is indeed similar to OX.SYS, but for the 32 bytes of additional memory 
  76. usage of MDAUX, you get:
  77.  
  78.     MDAUX homes to the TOP of the screen.  OX only inserts everything on 
  79.     the bottom line (i.e. every linefeed causes the entire screen to 
  80.     scroll -- MDAUX has 25 lines of display before everything moves on 
  81.     you).
  82.  
  83.     OX uses the original keyboard vectors for AUX input.  Geez, this is a 
  84.     tricky thing to deal with (I suggest programs don't use AUX for input 
  85.     unless you are using a separate terminal).  I could have used the 
  86.     original keyboard vectors for AUX input, but I have noticed that OX 
  87.     seemed to hang with a variety of different keyboard TSR programs.  I 
  88.     chose instead to use the current keyboard vectors for AUX input -- 
  89.     there may be an occasional problem with this, but it seems much more 
  90.     stable that way.  If you know of a good way to handle this, please 
  91.     contact me.
  92.  
  93.     MDAUX supports FormFeed to clear the screen.  There is no such 
  94.     capability in OX.
  95.  
  96.     A Banner message is displayed informing you that MDAUX is installing 
  97.     (or why it won't install).  OX doesn't tell you anything.  You don't 
  98.     know it is installed unless you check.
  99.  
  100.     MDAUX clears the AUX screen when the driver installs.  Many of my 
  101.     co-workers who use OX must initialize the monochrome display by 
  102.     performing a mode switch to the monochrome display (MODE MONO) and 
  103.     back (MODE CO80), which leaves a DOS prompt on the AUX screen, and 
  104.     ends up resetting the primary display (which is often originally in 
  105.     50 line mode, which then must be reset, and will have lost any 
  106.     contents it had before the mode switch).  This is unneccessary with 
  107.     MDAUX, since it initializes the hardware for you -- without affecting 
  108.     the primary display.  Not all MDA boards seem to require this fancy 
  109.     footwork by the user, but for those that do, this simplifies things 
  110.     somewhat.
  111.  
  112.     MDAUX will not install if there is no MDA present (and it must be the 
  113.     secondary display, not the primary).  This is an important difference 
  114.     -- if you pull out your Monochrome display, or make it the primary, 
  115.     MDAUX simply will not install, and AUX will remain as the first 
  116.     serial port.  However, OX.SYS *WILL* install, and subsequently write 
  117.     to the (non-existent) MDA memory.  There are three potential problems 
  118.     with this:  OX installs and uses memory when it isn't doing anything 
  119.     for you, AUX is no longer available as a device (you may wish to 
  120.     be outputting to the serial port), and (most importantly), if you 
  121.     don't have an MDA, and you use an upper memory manager (EMM386, QEMM, 
  122.     386MAX, NetRoom, etc.), that memory that OX is writing to is likely 
  123.     to be important stuff -- mabey even your hard disk cache...  whoops.
  124.  
  125.     MDAUX translates LF (linefeed) to CR/LF pairs.
  126.  
  127. It is not recommended to use AUX for debugging messages while using the 
  128. secondary display -- things get messy on the MDA screen.  It is not 
  129. considered dangerous, just messy.
  130.  
  131. I have not tested MDAUX within the Microsoft Windows Software Development Kit 
  132. environment.  If you envounter problems, please forward descriptions to me, 
  133. and I will check out fixing them.
  134.  
  135.  
  136. If you program in C, you can use the following to send a message through the 
  137. AUX device:
  138.  
  139.     fprintf(stdaux, "This is a message\n");
  140.  
  141. The driver converts LF to CR/LF combinations, but does no such translation on 
  142. CRs.  Thus:
  143.  
  144.     for ( i = 0 ; i < 2000 ; i++ )
  145.     {
  146.         fprintf(stdaux, "\rcounter: %d", i);
  147.     }
  148.  
  149. will display a running counter using the same locations on the screen.
  150.  
  151. Tabs are translated to 8 space tab stops.
  152.  
  153. Only TAB, LF, CR, and FF are interpreted.  All other characters are 
  154. passed to the screen unchanged, including the BEL (beep) character, which
  155. shows up as an enlarged dot.
  156.  
  157.  
  158. Here's legal in your eyes:
  159. This program must be distributed unmodified and in it's entirety (program
  160. and this documentation).  No files may be added to the archive (such as BBS
  161. advertisements), ZIP (or other archive format) headers permitting, provided
  162. that they do not claim ownership of the material.  It is not to be bundled
  163. with other software, Commercial, Shareware, Freeware, or otherwise.
  164. So-called "shareware" disk distribution sites must contact me for approval
  165. before distributing this software if they charge in excess of $3.95 per disk.
  166.  
  167. Failure to comply with these requirements will subject you to prosecution to
  168. the full extent provided by U.S. Copyright Law, including provisions from the 
  169. Berne Convention.
  170.  
  171.  
  172. The standard disclaimer applies:
  173. This program works for me within the (actually quite complex) environment in 
  174. which I use it.  I make no warranty that it will work in all environments or 
  175. on all hardware platforms.  I cannot be held responsible for any damages which 
  176. may result from it's use.  By using this software, you agree to hold Sean 
  177. Straw / Professional Software Engineering clear of any liability for damages, 
  178. including but not limited to, lost data, damaged hardware, and loss of income.
  179.  
  180. Your mileage may vary.  Void where prohibited.
  181.  
  182. However, should you encounter problems with this program, I would like to
  183. hear about them so that I may attempt to correct the problems (time and
  184. equipment permitting).
  185.  
  186.  
  187. This program is Shareware.  I don't ask much for it -- a paltry US $5.00.
  188.  
  189.  
  190. Send registrations to:
  191.  
  192. Sean Straw
  193. Professional Software Engineering
  194. Post Box 2395
  195. San Rafael, CA  94912-2395
  196.  
  197. Please be sure to state "Registration for MDAUX", and the version number when 
  198. registering.
  199.  
  200. A $15.00 service charge will be levied on returned cheques.
  201.